package com.xxx.video.main.adapters;

import android.content.Context;
import android.view.View;
import android.widget.ImageView;
import android.widget.TextView;

import androidx.annotation.NonNull;

import com.bumptech.glide.Glide;
import com.bumptech.glide.load.resource.bitmap.CenterCrop;
import com.bumptech.glide.load.resource.bitmap.RoundedCorners;
import com.bumptech.glide.request.RequestOptions;
import com.xxx.video.R;
import com.xxx.video.commen.adapters.BaseRecycleViewAdapter;
import com.xxx.video.commen.adapters.BaseViewHolder;
import com.xxx.video.commen.utils.CountUtils;
import com.xxx.video.commen.utils.DimensionUtil;
import com.xxx.video.commen.utils.DownloadUtils;
import com.xxx.video.commen.utils.ResourcesUtils;
import com.xxx.video.commen.utils.StringUtils;
import com.xxx.video.main.beans.SearchListBean;

import butterknife.BindView;

public class SearchResultListAdapter extends BaseRecycleViewAdapter<SearchListBean.PageBean.ListBean, SearchResultListAdapter.MyHolder> {


    public SearchResultListAdapter(@NonNull Context context) {
        super(context);
    }

    @Override
    public MyHolder onCreateDefaultViewHolder(View view, int viewType) {
        return new MyHolder(view);
    }

    @Override
    public int getItemLayout(int viewType) {
        return R.layout.item_search_result_list;
    }

    class MyHolder extends BaseViewHolder {

        @BindView(R.id.iv_item_search_vertical_video_list_cover)
        ImageView ivItemSearchVerticalVideoListCover;
        @BindView(R.id.iv_item_search_vertical_video_list_time)
        TextView ivItemSearchVerticalVideoListTime;
        @BindView(R.id.iv_item_search_vertical_video_list_title)
        TextView ivItemSearchVerticalVideoListTitle;
        @BindView(R.id.iv_item_search_vertical_video_list_play_count)
        TextView ivItemSearchVerticalVideoListPlayCount;
        @BindView(R.id.iv_item_search_vertical_video_list_comment_count)
        TextView ivItemSearchVerticalVideoListCommentCount;
        @BindView(R.id.iv_item_search_vertical_video_list_download_count)
        TextView ivItemSearchVerticalVideoListDownloadCount;
        @BindView(R.id.iv_item_search_vertical_video_list_date)
        TextView ivItemSearchVerticalVideoListDate;

        public MyHolder(View itemView) {
            super(itemView);
        }

        @Override
        public void setData2View(int position) {
            SearchListBean.PageBean.ListBean listBean = getItem(position);
            /*
             * title
             */
            ivItemSearchVerticalVideoListTitle.setText(StringUtils.getInstance().getNotEmptyMsg(listBean.fTitle));
            /*
             * cover
             */
            Glide.with(context).load(ResourcesUtils.getInstance().getImagePath(listBean.fPicurl))
                    .apply(new RequestOptions()
                            .error(R.drawable.bg_place_holder_nine_five)
                            .placeholder(R.drawable.bg_place_holder_nine_five)
                            .transform(new CenterCrop(), new RoundedCorners(DimensionUtil.dpToPx(5))))
                    .into(ivItemSearchVerticalVideoListCover);
            /*
             * play count
             */
            ivItemSearchVerticalVideoListPlayCount.setText(CountUtils.getInstance().getCount(listBean.fPlayTimes));
            /*
             *comment count
             */
            ivItemSearchVerticalVideoListCommentCount.setText(CountUtils.getInstance().getCount(listBean.fCommentTimes));
            /*
             * time
             */
            ivItemSearchVerticalVideoListTime.setText(StringUtils.getInstance().getNotEmptyMsg(String.valueOf(listBean.fDuring)));
            /*
             * date
             */
            ivItemSearchVerticalVideoListDate.setText(StringUtils.getInstance().getNotEmptyMsg(String.valueOf(listBean.fCreateTime)));
            /*
             * download count
             */
            ivItemSearchVerticalVideoListDownloadCount.setText(CountUtils.getInstance().getCount(listBean.fDownloadTimes));
            ivItemSearchVerticalVideoListDownloadCount.setOnClickListener(v -> DownloadUtils.getInstance().startDownload(context, listBean.fVideo, listBean.fId,
                    listBean.fTitle, listBean.fPicurl, listBean.fCreateTime, listBean.fPlayTimes, listBean.fCommentTimes, 0));
        }
    }
}
